package com.ambulance.project.manager.domain;

import com.ambulance.framework.aspectj.lang.annotation.Excel;
import com.ambulance.framework.web.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 医生管理对象 biz_doctor
 *
 * @author zr
 * @date 2020-05-11
 */
public class BizDoctor extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 医生ID
     */
    private Long doctorID;

    /**
     * 导出数据所需查询条件
     */
    @TableField(exist = false)
    private String ids;

    public String getIds() {
        return ids;
    }

    public void setIds(String ids) {
        this.ids = ids;
    }

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * 手机号
     */
    @Excel(name = "手机号")
    private String phone;

    /**
     * 科室
     */
    @Excel(name = "科室")
    private String depart;

    /**
     * 账户
     */
    @Excel(name = "账户")
    private String account;

    /**
     * 密码
     */
    @Excel(name = "密码")
    private String password;

    /**
     * 是否会诊专家 0 =是 1=不是
     */
    @Excel(name = "是否会诊专家 0 =是 1=不是")
    private Integer isMaster;

    /**
     * 职称
     */
    @Excel(name = "职称")
    private String title;

    /**
     * 值班状态 0= 未值班 1=值班
     */
    @Excel(name = "值班状态 0= 未值班 1=值班")
    private Integer onDutyStatus;

    /**
     * 专长
     */
    @Excel(name = "专长")
    private String special;

    /**
     * 所属医院
     */
    @Excel(name = "所属医院")
    private String hospital;

    /**
     * 上次登陆时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上次登陆时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastLogin;

    /**
     * 登陆ip
     */
    @Excel(name = "登陆ip")
    private String loginIp;

    /**
     * 角色1医生
     */
    @Excel(name = "角色1医生")
    private Integer role;

    /**
     * 权限
     */
    @Excel(name = "权限")
    private Integer author;

    /**
     * 账户状态 0= 正常 1=冻结
     */
    @Excel(name = "账户状态 0= 正常 1=冻结")
    private Integer accountStatus;

    /**
     * 年纪
     */
    @Excel(name = "年纪")
    private Integer age;

    /**
     * 性别 0=男 1=女 2=未知
     */
    @Excel(name = "性别 0=男 1=女 2=未知")
    private Integer sex;

    /**
     * 用户状态 0= 正常 1= 停用
     */
    @Excel(name = "用户状态 0= 正常 1= 停用")
    private Integer status;

    /**
     * 所在班组编号
     */
    @Excel(name = "所在班组编号")
    private Long classId;

    /**
     * 是否进入班组 0=否 1=是
     */
    @Excel(name = "是否进入班组 0=否 1=是")
    private Integer classStatus;

    /**
     * 医院标识
     */
    @Excel(name = "医院标识")
    private Long uid;

    /**
     * 医生头像
     */
    private String image;

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    /**
     * 科室id
     */
    private Integer departId;

    public Integer getDepartId() {
        return departId;
    }

    public void setDepartId(Integer departId) {
        this.departId = departId;
    }

    public Long getDoctorID() {
        return doctorID;
    }

    public void setDoctorID(Long doctorID) {
        this.doctorID = doctorID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getDepart() {
        return depart;
    }

    public void setDepart(String depart) {
        this.depart = depart;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getIsMaster() {
        return isMaster;
    }

    public void setIsMaster(Integer IsMaster) {
        this.isMaster = IsMaster;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Integer getOnDutyStatus() {
        return onDutyStatus;
    }

    public void setOnDutyStatus(Integer onDutyStatus) {
        this.onDutyStatus = onDutyStatus;
    }

    public String getSpecial() {
        return special;
    }

    public void setSpecial(String special) {
        this.special = special;
    }

    public String getHospital() {
        return hospital;
    }

    public void setHospital(String hospital) {
        this.hospital = hospital;
    }

    public Date getLastLogin() {
        return lastLogin;
    }

    public void setLastLogin(Date lastLogin) {
        this.lastLogin = lastLogin;
    }

    public String getLoginIp() {
        return loginIp;
    }

    public void setLoginIp(String loginIp) {
        this.loginIp = loginIp;
    }

    public Integer getRole() {
        return role;
    }

    public void setRole(Integer role) {
        this.role = role;
    }

    public Integer getAuthor() {
        return author;
    }

    public void setAuthor(Integer author) {
        this.author = author;
    }

    public Integer getAccountStatus() {
        return accountStatus;
    }

    public void setAccountStatus(Integer accountStatus) {
        this.accountStatus = accountStatus;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getClassId() {
        return classId;
    }

    public void setClassId(Long classId) {
        this.classId = classId;
    }

    public Integer getClassStatus() {
        return classStatus;
    }

    public void setClassStatus(Integer classStatus) {
        this.classStatus = classStatus;
    }

    public Long getUid() {
        return uid;
    }

    public void setUid(Long uid) {
        this.uid = uid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("doctorID", getDoctorID())
                .append("name", getName())
                .append("phone", getPhone())
                .append("depart", getDepart())
                .append("remark", getRemark())
                .append("account", getAccount())
                .append("password", getPassword())
                .append("IsMaster", getIsMaster())
                .append("title", getTitle())
                .append("onDutyStatus", getOnDutyStatus())
                .append("special", getSpecial())
                .append("hospital", getHospital())
                .append("lastLogin", getLastLogin())
                .append("loginIp", getLoginIp())
                .append("role", getRole())
                .append("author", getAuthor())
                .append("accountStatus", getAccountStatus())
                .append("age", getAge())
                .append("sex", getSex())
                .append("status", getStatus())
                .append("classId", getClassId())
                .append("classStatus", getClassStatus())
                .append("uid", getUid())
                .toString();
    }
}
